using System;
using System.Collections.Generic;
namespace AppToolKit.Data
{
	public interface IDataAccessObject<T> where T : class
	{
		IDbProcessor NativeDatabase
		{
			get;
			set;
		}
		void Save(T t);
		void Delete(T entity);
		void Update(T t);
		IList<T> GetAll();
		IList<T> GetList(string query);
		T Load(object t);
		IList<T> GetListByPage(string query, int start, int Max);
		void Refresh(T data);
		void Load(T data, object key);
		void Delete(string queryString);
		T Get(object key);
	}
}
